Ext.define('TipoItem.Form', {
    extend: 'Ext.form.Panel',
    alias: 'widget.tipoitemform',
    requires: ['Ext.form.field.Text'],
    initComponent: function(){
        Ext.apply(this, {
            activeRecord: null,
            iconCls: 'icon-fase',
            frame: true,
            defaultType: 'textfield',
            bodyPadding: 30,
            fieldDefaults: {
                anchor: '100%',
            },
            items: [{
                fieldLabel: 'Id',
                name: 'id',
                type: 'int',
                itemId: 'idTipoItem',
                hidden: true,
            },{
                fieldLabel: 'Id',
                name: 'idProyecto',
                type: 'int',
                itemId: 'idProy',
                hidden: true,
            },{
                fieldLabel: 'Nombre',
                name: 'nombre',
                itemId: 'nombre',
            }, {
                fieldLabel: 'Descripcion',
                name: 'descripcion',
                itemId: 'descripcion',
            }],
            dockedItems: [{
				xtype: 'toolbar',
				items: [
					{	//iconCls: 'icon-reset',	
										//text: 'Reset',	
										//tooltip:'Resetear el formulario',	
										//scope: this,	
										//handler: this.onReset
					},{
                    iconCls: 'icon-importar',
                    itemId: 'importar',
                    text: 'Importar',
                    //hidden: true,
                    scope: this, 
                    handler: this.onImportar
                },{
                    iconCls: 'icon-atributos',
                    itemId: 'atributos',
                    text: 'Atributos',
                    hidden: true,
                    scope: this, 
                    //handler: this.onTiposItem
                }]
				},{
				weight: 1,
                xtype: 'toolbar',
                dock: 'bottom',
                items: ['->', {
                    iconCls: 'icon-user-delete',
                    itemId: 'delete',
                    hidden: true,
                    scope: this, 
                    text: 'Eliminar',
                    scope: this,
                    handler: this.onDelete
                },{
                    iconCls: 'icon-save',
                    itemId: 'save',
                    text: 'Guardar',
                    hidden: true,
                    scope: this, 
                    handler: this.onSave
                }, {
                    iconCls: 'icon-user-add',
                    itemId: 'create',
                    text: 'Crear',
                    scope: this,
                    handler: this.onCreate
                }, {
                    iconCls: 'icon-reset',
                    text: 'Reset',
                    scope: this,
                    handler: this.onReset
                }]
            }]
        });
        this.callParent();
    },

    setActiveRecord: function(record){
        this.activeRecord = record;
        if (record) {

            this.down('#save').show();
            this.down('#delete').show();
            this.down('#atributos').show();
            this.down('#create').hide(); 
            this.down('#importar').hide(); 
                       
            this.getForm().loadRecord(record);
        } else {

            this.down('#save').hide();
            this.down('#delete').hide();
            this.down('#atributos').hide();
            this.down('#create').show(); 
            this.down('#importar').show(); 

            //this.getForm().reset();
            this.down('#nombre').setValue("");
            this.down('#descripcion').setValue("");
            this.down('#idTipoItem').setValue("");
            
        }
    },

	
    onCreate: function(){
        var form = this.getForm();
                    form.submit({                        
                        url: 'crear_tipo_item',
                        params: {	submit: 'submit'	},
						method: "post",
                       success: function(form, action) {
								this.down('#nombre').setValue("");
								this.down('#descripcion').setValue("");
								this.down('#idTipoItem').setValue("");
							    Ext.Msg.show({  
									title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
									msg: 'Tipo Item creado satisfactoriamente', //<- El mensaje  
									icon: 'ext-mb-ok',
								});
							this.fireEvent('refresh');							                       
                        },
                        scope: this,                        
                        failure: function(form, action) {									
									Ext.Msg.show({  
										title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
										msg: 'No se ha podido crear el Tipo de Item', //<- El mensaje  
										icon: 'ext-mb-error',
									});
                        }
                    });
    },
    
    onSave: function(){
        var form = this.getForm();
                    form.submit({                        
                        url: 'modificar_tipo_item',
                        params: {	submit: 'submit'	},
						method: "post",
                       success: function(form, action) {
								this.down('#nombre').setValue("");
								this.down('#descripcion').setValue("");
								this.down('#idTipoItem').setValue("");
							    Ext.Msg.show({  
									title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
									msg: 'Tipo de Item modificado satisfactoriamente', //<- El mensaje  
									icon: 'ext-mb-ok',
								});
							this.fireEvent('refresh');							                       
                        },
                        scope: this,                        
                        failure: function(form, action) {									
									Ext.Msg.show({  
										title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
										msg: 'No se ha podido modificar el Tipo de Item', //<- El mensaje  
										icon: 'ext-mb-error',
									});
                        }
                    });
    },
        
    onDelete: function(){ 
        var form = this.getForm();
                    form.submit({                        
                        url: 'eliminar_tipo_item',
                        params: {	submit: 'submit'	},
						method: "post",
                       success: function(form, action) {
								this.down('#nombre').setValue("");
								this.down('#descripcion').setValue("");
								this.down('#idTipoItem').setValue("");
							    Ext.Msg.show({  
									title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
									msg: 'Tipo de Item eliminado satisfactoriamente', //<- El mensaje  
									icon: 'ext-mb-ok',
								});
							this.fireEvent('refresh');							                       
                        },
                        scope: this,                        
                        failure: function(form, action) {									
									Ext.Msg.show({  
										title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
										msg: 'No se ha podido eliminar el Tipo de Item', //<- El mensaje  
										icon: 'ext-mb-error',
									});
                        }
                    });
    },   

	onImportar: function(){
			var form = this.getForm();
			this.fireEvent('ddImportar', form.getValues(true));            
	},     

    onReset: function(){
        this.setActiveRecord(null);
        //this.getForm().reset();
        this.fireEvent('refresh');
    },

    
});

Ext.define('Fases.Form', {
    extend: 'Ext.form.Panel',
    alias: 'widget.fasesform',
    requires: ['Ext.form.field.Text'],
    initComponent: function(){
        Ext.apply(this, {
            activeRecord: null,
            iconCls: 'icon-fase',
            frame: true,
            defaultType: 'textfield',
            bodyPadding: 20,
            fieldDefaults: {
                anchor: '100%',
            },
            items: [{
                fieldLabel: 'Id',
                name: 'id',
                type: 'int',
                itemId: 'idFase',
                hidden: true,
            },{
                fieldLabel: 'Id',
                name: 'idProyectoFase',
                type: 'int',
                itemId: 'idProy',
                hidden: true,
            },{
                fieldLabel: 'Nombre',
                name: 'nombreFase',
                itemId: 'nombre',
            }, {
                fieldLabel: 'Descripcion',
                name: 'descripcion',
                itemId: 'descripcion',
            }],
            dockedItems: [{
				xtype: 'toolbar',
				items: [
						{	//iconCls: 'icon-reset',	
											//text: 'Reset',	
											//tooltip:'Resetear el formulario',	
											//scope: this,	
											//handler: this.onReset
						},{
						iconCls: 'icon-importar',
						itemId: 'importar',
						text: 'Importar',
						//hidden: true,
						scope: this, 
						handler: this.onImportar
					},{
						iconCls: 'icon-tipoItem',
						itemId: 'tipoItem',
						text: 'Tipos Item',
						hidden: true,
						scope: this, 
						handler: this.onTiposItem
					}]
				},{
				weight: 1,
                xtype: 'toolbar',
                dock: 'bottom',
                items: ['->',{
                    iconCls: 'icon-user-delete',
                    itemId: 'delete',
                    hidden: true,
                    scope: this, 
                    text: 'Eliminar',
                    scope: this,
                    handler: this.onDelete
                },{
                    iconCls: 'icon-save',
                    itemId: 'save',
                    text: 'Guardar',
                    hidden: true,
                    scope: this, 
                    handler: this.onSave
                }, {
                    iconCls: 'icon-user-add',
                    itemId: 'create',
                    text: 'Crear',
                    scope: this,
                    handler: this.onCreate
                }, {
                    iconCls: 'icon-reset',
                    text: 'Reset',
                    scope: this,
                    handler: this.onReset
                }]
            }]
        });
        this.callParent();
    },

    setActiveRecord: function(record){
        this.activeRecord = record;
        if (record) {

            this.down('#save').show();
            this.down('#delete').show();
            this.down('#tipoItem').show();
            this.down('#create').hide();
            this.down('#importar').hide();
                       
            this.getForm().loadRecord(record);
        } else {

            this.down('#save').hide();
            this.down('#delete').hide();
            this.down('#tipoItem').hide();
            this.down('#create').show();
            this.down('#importar').show();

            //this.getForm().reset();
            this.down('#nombre').setValue("");
            this.down('#descripcion').setValue("");
            this.down('#idFase').setValue("");
            
        }
    },

	
    onCreate: function(){
        var form = this.getForm();
                    form.submit({                        
                        url: 'crear_fase',
                        params: {	submit: 'submit'	},
						method: "post",
                       success: function(form, action) {
								this.down('#nombre').setValue("");
								this.down('#descripcion').setValue("");
								this.down('#idFase').setValue("");
							    Ext.Msg.show({  
									title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
									msg: 'Fase creada satisfactoriamente', //<- El mensaje  
									icon: 'ext-mb-ok',
								});
							this.fireEvent('refresh');							                       
                        },
                        scope: this,                        
                        failure: function(form, action) {									
									Ext.Msg.show({  
										title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
										msg: 'No se ha podido crear la fase', //<- El mensaje  
										icon: 'ext-mb-error',
									});
                        }
                    });
    },
    
    onSave: function(){
        var form = this.getForm();
                    form.submit({                        
                        url: 'modificar_fase',
                        params: {	submit: 'submit'	},
						method: "post",
                       success: function(form, action) {
								this.down('#nombre').setValue("");
								this.down('#descripcion').setValue("");
								this.down('#idFase').setValue("");
							    Ext.Msg.show({  
									title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
									msg: 'Fase modificada satisfactoriamente', //<- El mensaje  
									icon: 'ext-mb-ok',
								});
							this.fireEvent('refresh');							                       
                        },
                        scope: this,                        
                        failure: function(form, action) {									
									Ext.Msg.show({  
										title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
										msg: 'No se ha podido modificar la fase', //<- El mensaje  
										icon: 'ext-mb-error',
									});
                        }
                    });
    },
        
    onDelete: function(){ 
        var form = this.getForm();
                    form.submit({                        
                        url: 'eliminar_fase',
                        params: {	submit: 'submit'	},
						method: "post",
                       success: function(form, action) {
								this.down('#nombre').setValue("");
								this.down('#descripcion').setValue("");
								this.down('#idFase').setValue("");
							    Ext.Msg.show({  
									title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
									msg: 'Fase eliminada satisfactoriamente', //<- El mensaje  
									icon: 'ext-mb-ok',
								});
							this.fireEvent('refresh');							                       
                        },
                        scope: this,                        
                        failure: function(form, action) {									
									Ext.Msg.show({  
										title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
										msg: 'No se ha podido eliminar la fase', //<- El mensaje  
										icon: 'ext-mb-error',
									});
                        }
                    });
    },  
     
	onImportar: function(){
			var form = this.getForm();
			this.fireEvent('ddImportar', form.getValues(true));            
	}, 
	
	onTiposItem: function(){
			var form = this.getForm();
			this.fireEvent('ddTiposItem', form.getValues(true));            
	},     

    onReset: function(){
        this.setActiveRecord(null);
        //this.getForm().reset();
        this.fireEvent('refresh');
    },

    
});

Ext.define('Writer.Form', {
    extend: 'Ext.form.Panel',
    alias: 'widget.writerform',
    requires: ['Ext.form.field.Text'],
    initComponent: function(){
        //this.addEvents('create');
        Ext.apply(this, {
            activeRecord: null,
            iconCls: 'icon-proyecto',
            frame: true,
            title: 'ADMINISTRACION PROYECTOS',
            defaultType: 'textfield',
            bodyPadding: 25,
            fieldDefaults: {
                anchor: '100%',
            },
            items: [{
                fieldLabel: 'Id',
                name: 'id',
                type: 'int',
                hidden: true,
            },{
                fieldLabel: 'Nombre',
                name: 'nombre',
            }, {
                fieldLabel: 'Descripcion',
                name: 'descripcion',
            }],
            dockedItems: [{
                xtype: 'toolbar',
                items: [{	//iconCls: 'icon-reset',	
										//text: 'Reset',	
										//tooltip:'Resetear el formulario',	
										//scope: this,	
										//handler: this.onReset
				},{
                    iconCls: 'icon-iniciar',
                    text: 'Iniciar',
                    hidden: true,
                    itemId: 'iniciar',
                    scope: this,
                    handler: this.onIniciar
                }, {
                    iconCls: 'icon-terminar',
                    text: 'Terminar',
                    hidden: true,
                    itemId: 'terminar',
                    scope: this,
                    handler: this.onTerminar
                },{
                    iconCls: 'icon-tipoItem',
                    itemId: 'tipoItem',
                    text: 'Tipos Item',
                    hidden: true,
                    scope: this, 
                    handler: this.onTipoItem
                },{
                    iconCls: 'icon-fase',
                    itemId: 'fase',
                    text: 'Fases',
                    hidden: true,
                    scope: this, 
                    handler: this.onFases
                }]
            },{
				weight: 1,
                xtype: 'toolbar',
                dock: 'bottom',
                items: ['->',{
                    iconCls: 'icon-lider',
                    itemId: 'lider',
                    text: 'Lider',
                    hidden: true,
                    scope: this, 
                    handler: this.onLider
                }, {
                    iconCls: 'icon-user-delete',
                    itemId: 'delete',
                    hidden: true,
                    scope: this, 
                    text: 'Eliminar',
                    scope: this,
                    handler: this.onDelete
                },{
                    iconCls: 'icon-save',
                    itemId: 'save',
                    text: 'Guardar',
                    hidden: true,
                    scope: this, 
                    handler: this.onSave
                }, {
                    iconCls: 'icon-user-add',
                    itemId: 'create',
                    text: 'Crear',
                    scope: this,
                    handler: this.onCreate
                }, {
                    iconCls: 'icon-reset',
                    text: 'Reset',
                    scope: this,
                    handler: this.onReset
                }]
            }]
        });
        this.callParent();
    },

    setActiveRecord: function(record){
        this.activeRecord = record;
        if (record) {
            this.down('#save').show();
            this.down('#delete').show();
            this.down('#iniciar').show();
            this.down('#terminar').show();
            this.down('#lider').show();
            this.down('#tipoItem').show();
            this.down('#fase').show();
            this.down('#create').hide(); 
                       
            this.getForm().loadRecord(record);
        } else {
            this.down('#save').hide();
            this.down('#delete').hide();
            this.down('#iniciar').hide();
            this.down('#terminar').hide();
            this.down('#lider').hide();
            this.down('#tipoItem').hide();
            this.down('#fase').hide();
            this.down('#create').show(); 
            this.getForm().reset();
        }
    },

    onSave: function(){
        var form = this.getForm();
                    form.submit({                        
                        url: 'modificarProyecto',
                        params: {	submit: 'submit'	},
						method: "post",
                       success: function(form, action) {
								form.reset();
							    Ext.Msg.show({  
									title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
									msg: 'Proyecto modificado satisfactoriamente', //<- El mensaje  
									icon: 'ext-mb-ok',
								});
							this.fireEvent('refresh');							                       
                        },
                        scope: this,                        
                        failure: function(form, action) {									
									Ext.Msg.show({  
										title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
										msg: 'No se ha podido modificar el proyecto', //<- El mensaje  
										icon: 'ext-mb-error',
									});
                        }
                    });
    },
    
	onLider: function(){
			var form = this.getForm();
			this.fireEvent('ddlider', form.getValues(true));            
	},
	onFases: function(){
			var form = this.getForm();
			this.fireEvent('ddFases', form.getValues(true));            
	},
	
	onTipoItem: function(){
			var form = this.getForm();
			this.fireEvent('ddTipoItem', form.getValues(true));            
	},	
	
    onCreate: function(){
        var form = this.getForm();
                    form.submit({                        
                        url: 'crearProyecto',
                        params: {	submit: 'submit'	},
						method: "post",
                       success: function(form, action) {
								form.reset();
							    Ext.Msg.show({  
									title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
									msg: 'Proyecto creado satisfactoriamente', //<- El mensaje  
									icon: 'ext-mb-ok',
								});
							this.fireEvent('refresh');							                       
                        },
                        scope: this,                        
                        failure: function(form, action) {									
									Ext.Msg.show({  
										title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
										msg: 'No se ha podido crear el proyecto', //<- El mensaje  
										icon: 'ext-mb-error',
									});
                        }
                    });
    },

    onDelete: function(){ 
        var form = this.getForm();
                    form.submit({                        
                        url: 'eliminarProyecto',
                        params: {	submit: 'submit'	},
						method: "post",
                       success: function(form, action) {
								form.reset();
							    Ext.Msg.show({  
									title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
									msg: 'Proyecto eliminado satisfactoriamente', //<- El mensaje  
									icon: 'ext-mb-ok',
								});
							this.fireEvent('refresh');							                       
                        },
                        scope: this,                        
                        failure: function(form, action) {									
									Ext.Msg.show({  
										title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
										msg: 'No se ha podido eliminar el proyecto', //<- El mensaje  
										icon: 'ext-mb-error',
									});
                        }
                    });
    },

    onReset: function(){
        this.setActiveRecord(null);
        this.getForm().reset();
        this.fireEvent('refresh');
    },
    
    onIniciar: function(){	
	        var form = this.getForm();
                    form.submit({                        
                        url: 'iniciarProyecto',
                        params: {	submit: 'submit'	},
						method: "post",
                       success: function(form, action) {
							    Ext.Msg.show({  
									title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
									msg: 'Proyecto iniciado satisfactoriamente', //<- El mensaje  
									icon: 'ext-mb-ok',
								});
							this.fireEvent('refresh');							                       
                        },	scope: this,                        
                        failure: function(form, action) {									
									Ext.Msg.show({  
										title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
										msg: 'No se ha podido iniciar el proyecto', //<- El mensaje  
										icon: 'ext-mb-error',
									});
                        }
                    });
    },
    
    onTerminar: function(){		
    	        var form = this.getForm();
                    form.submit({                        
                        url: 'terminarProyecto',
                        params: {	submit: 'submit'	},
						method: "post",
                       success: function(form, action) {
							    Ext.Msg.show({  
									title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
									msg: 'Proyecto terminado satisfactoriamente', //<- El mensaje  
									icon: 'ext-mb-ok',
								});
							this.fireEvent('refresh');							                       
                        },	scope: this,                        
                        failure: function(form, action) {									
									Ext.Msg.show({  
										title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
										msg: 'No se ha podido terminar el proyecto', //<- El mensaje  
										icon: 'ext-mb-error',
									});
                        }
                    });
    },   
    
});

Ext.Loader.setConfig({enabled: true});
Ext.Loader.setPath('Ext.ux', 'static/ux');

Ext.define('TipoItem.Grid', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.tipoitemgrid',
    requires: [
        'Ext.grid.plugin.CellEditing',
        'Ext.form.field.Text',
        'Ext.ux.grid.FiltersFeature',
        'Ext.toolbar.TextItem'
    ],
    initComponent: function(){
        this.editing = Ext.create('Ext.grid.plugin.CellEditing');
        
		var filters = {
			ftype: 'filters',
			local: true,

		};

        Ext.apply(this, {
            iconCls: 'icon-grid',
            frame: true,
            plugins: [this.editing],
            features: [filters],
            dockedItems: [{ 
                weight: 1,
                xtype: 'toolbar',
                dock: 'bottom',
                items: ['->', {
                    iconCls: 'icon-refresh',
                    text: 'Actualizar',
                    scope: this,
                    handler: this.onRefresh
                }]
            }],
            columns: [{
                text: 'IdProy',
                width: 30,
                filter: true,
                hidden: true,
                dataIndex: 'idProyecto'
            },{
                text: 'Id',
                width: 30,
                hidden: true,
                filter: true,
                dataIndex: 'id'
            },{
                header: 'Nombre',
                width: 120,
                filter: true,
                dataIndex: 'nombre',

            }, {
                header: 'Descripcion',
                flex: 1,
                filter: true,
                dataIndex: 'descripcion',

            },{
                text: 'Nro Atributos',
                width: 90,
                dataIndex: 'nroAtributos'
            }]
        });
        this.callParent();
        this.getSelectionModel().on('selectionchange', this.onSelectChange, this);
    },   

    onRefresh: function(){
		this.getSelectionModel().clearSelections();
		this.store.load();
	},
});

Ext.define('Fases.Grid', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.fasesgrid',
    requires: [
        'Ext.grid.plugin.CellEditing',
        'Ext.form.field.Text',
        'Ext.ux.grid.FiltersFeature',
        'Ext.toolbar.TextItem'
    ],
    initComponent: function(){
        this.editing = Ext.create('Ext.grid.plugin.CellEditing');
        
		var filters = {
			ftype: 'filters',
			local: true,

		};

        Ext.apply(this, {
            iconCls: 'icon-grid',
            frame: true,
            plugins: [this.editing],
            features: [filters],
            dockedItems: [{ 
                weight: 1,
                xtype: 'toolbar',
                dock: 'bottom',
                items: ['->',{
                    iconCls: 'icon-refresh',
                    text: 'Actualizar',
                    scope: this,
                    handler: this.onRefresh
                },{
                    iconCls: 'icon-salir',
                    text: 'Salir',
                    scope: this,
                    handler: this.onSalir
                }]
            }],
            columns: [{
                text: 'IdProy',
                width: 30,
                filter: true,
                hidden: true,
                dataIndex: 'idProyectoFase'
            },{
                text: 'Id',
                width: 30,
                hidden: true,
                filter: true,
                dataIndex: 'id'
            },{
                header: 'Nombre',
                flex: 1,
                filter: true,
                dataIndex: 'nombreFase',

            }, {
                header: 'Descripcion',
                width: 140,
                filter: true,
                dataIndex: 'descripcion',

            },{
                text: 'Posicion',
                width: 80,
                dataIndex: 'posicionFase'
            },{
                text: 'Nº Items',
                width: 80,
                filter: true,
                dataIndex: 'nroItems'
            },{
                text: 'Nº LBs',
                width: 80,
                filter: true,
                dataIndex: 'nroLBs'
            }, {
                header: 'Estado',
                flex: 1,
                filter: true,
                dataIndex: 'estado',

            }]
        });
        this.callParent();
        this.getSelectionModel().on('selectionchange', this.onSelectChange, this);
    },   

    onRefresh: function(){
		this.getSelectionModel().clearSelections();
		this.store.load();
	},
	
	 onSalir: function(){
		 
		this.fireEvent('salir');
	},
	
});

Ext.define('Writer.Grid', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.writergrid',
    requires: [
        'Ext.grid.plugin.CellEditing',
        'Ext.form.field.Text',
        'Ext.ux.grid.FiltersFeature',
        'Ext.toolbar.TextItem'
    ],
    initComponent: function(){
        this.editing = Ext.create('Ext.grid.plugin.CellEditing');
        
		var filters = {
			ftype: 'filters',
			local: true,

		};

        Ext.apply(this, {
            iconCls: 'icon-grid',
            //frame: true,
            plugins: [this.editing],
            features: [filters],
            dockedItems: [{ 
                weight: 1,
                xtype: 'toolbar',
                dock: 'bottom',
                //ui: 'footer',
                items: ['->', {
                    iconCls: 'icon-refresh',
                    text: 'Actualizar',
                    scope: this,
                    handler: this.onRefresh
                }]
            }],
            columns: [{
                text: 'Id',
                width: 30,
                filter: true,
                dataIndex: 'id'
            },{
                header: 'Nombre',
                flex: 1,
                filter: true,
                dataIndex: 'nombre',

            }, {
                header: 'Descripcion',
                width: 150,
                filter: true,
                dataIndex: 'descripcion',

            },{
                text: 'Nº Fases',
                flex: 1,
                filter: true,
                dataIndex: 'nroFases'
            },{
                header: 'Fecha Creacion',
                flex: 1,
                filter: true,
                dataIndex: 'fecha',

            }, {
                header: 'Estado',
                flex: 1,
                filter: true,
                dataIndex: 'estado',

            }]
        });
        this.callParent();
        this.getSelectionModel().on('selectionchange', this.onSelectChange, this);
    },   

    onRefresh: function(){
		this.getSelectionModel().clearSelections();
		this.store.load();
	},
});

Ext.define('Writer.Person', {
    extend: 'Ext.data.Model',
    fields: [{
        name: 'id',
        type: 'int',
        useNull: true
    },{
        name: 'nroFases',
        type: 'int',
    }, 'nombre', 'descripcion', 'fecha', 'estado'],
    validations: [{
        type: 'length',
        field: 'email',
        min: 1
    }, {
        type: 'length',
        field: 'first',
        min: 1
    }, {
        type: 'length',
        field: 'last',
        min: 1
    }, {
        type: 'length',
        field: 'nombreUsuario',
        min: 1
    }]
});

Ext.define('Writer.Fases', {
    extend: 'Ext.data.Model',
    fields: [{
        name: 'id',
        type: 'int',
        useNull: true
    },{
        name: 'nroItems',
        type: 'int',
    },{
        name: 'idProyectoFase',
        type: 'int',
    },{
        name: 'nroLBs',
        type: 'int',
    },{
        name: 'posicionFase',
        type: 'int',
    }, 'nombreFase', 'descripcion', 'estado']
});

Ext.define('Writer.TipoItem', {
    extend: 'Ext.data.Model',
    fields: [{
        name: 'id',
        type: 'int',
        useNull: true
    },{
        name: 'nroAtributos',
        type: 'int',
    },{
        name: 'idProyecto',
        type: 'int',
    }, 'nombre', 'descripcion']
});


Ext.require([
    'Ext.data.*',
    'Ext.tip.QuickTipManager',
    'Ext.window.MessageBox',
    'Ext.grid.*',
    'Ext.tab.*',
    'Ext.window.*',
    'Ext.tip.*',
    'Ext.layout.container.Border',
    'Ext.dd.*',
    'Ext.form.field.ComboBox',
    'Ext.form.FieldSet'
]);

Ext.define('DataUsuario', {
    extend: 'Ext.data.Model',
    fields: ['nombreUsuario']
});

Ext.define('DataTipoItem', {
    extend: 'Ext.data.Model',
    fields: [{
			name: 'id',
			type: 'int'
		},'nombreTipoItem']
});

Ext.define('DataFase', {
    extend: 'Ext.data.Model',
    fields: [{
			name: 'id',
			type: 'int'
		},'nombreFase']
});

Ext.onReady(function(){
    Ext.tip.QuickTipManager.init();
    
    var store = Ext.create('Ext.data.Store', {
        model: 'Writer.Person',
        autoLoad: true,
        autoSync: true,
        proxy: {
            type: 'ajax',
            url: 'listarProyectos',
            reader: {
                type: 'json',
                successProperty: 'success',
                root: 'data',
                messageProperty: 'message'
            },
            writer: {
                type: 'json',
                writeAllFields: false,
                root: 'data'
            },

        },
        listeners: {
            write: function(proxy, operation){
                if (operation.action == 'destroy') {
                    main.child('#form').setActiveRecord(null);
                }
                Ext.example.msg(operation.action, operation.resultSet.message);
            }
        },
        
        sorters: [{
            property: 'id',
            direction: 'ASC'
        }]        
    });    
            win = Ext.create('widget.panel', {
				renderTo: 'comboProyecto',
                width: 1050,  height: 380,
                layout: 'border',
                //bodyStyle: 'padding: 3px;',	
                y: 30,	x: 150,
                items: [{
                    region: 'west',
					xtype: 'writerform',
					itemId: 'form',
					width: 360,
					listeners: {
						refresh: function() {
							win.child('#grid').onRefresh();
							
						},
						ddTipoItem: function(data) {
							//Ext.Msg.alert('Fases', data);
							nombre = extraer(data, '&nombre=', '&descripcion=');		id = extraer(data, 'id=', '&');
							winTipoItem = Ext.create('widget.window', {
								iconCls: 'icon-alpha',								
								title: 'PROYECTO: ' + nombre,
								closable: true,	plain: true,
								//layout: 'fit',
								items: [PanelTipoItem = Ext.create('Ext.Panel', {
											width : 850,	height : 320,
											layout  : {	type: 'hbox',	align: 'stretch'	},
											//defaults  : { flex : 1 }, 
											items : [								
												{
													region: 'west',
													xtype: 'tipoitemform',
													title: 'ADMINISTRACION DE TIPO ITEM',
													itemId: 'TipoItemform',
													width: 350,
													listeners: {
														refresh: function() {
															PanelTipoItem.child('#tipoitemgrid').onRefresh();		
														},
														ddImportar: function(data){
															var grid7, grid8;
															//nombre = extraer(data, '&nombre=', '&descripcion=');	//	id = extraer(data, 'id=', '&');
															winImportar = Ext.create('widget.window', {
																iconCls: 'icon-importar',
																title: 'Drag and Drop - Importar Tipo de Item al proyecto: ' + nombre,
																closable: true,
																plain: true,
																layout: 'fit',
																items: [PanelTipo = Ext.create('Ext.Panel', {
																			width : 550,	height : 250,
																			layout  : {	type: 'hbox',	align: 'stretch'	},
																			defaults  : { flex : 1 }, 
																			items : [
																					grid7 = Ext.create('Ext.grid.Panel', {
																						multiSelect: true,
																						viewConfig: {
																							plugins: {
																									ptype: 'gridviewdragdrop',
																									dragGroup: 'firstGridDDGroup',
																									dropGroup: 'secondGridDDGroup'
																							},
																						},
																						store: Ext.create('Ext.data.Store', {
																									model: 'DataTipoItem',
																									autoLoad: true,
																									proxy: {
																										type: 'ajax',
																										url: 'listar_no_tipo_items_por_proyecto/' + id,
																										reader: {
																											type: 'json',
																											successProperty: 'success',
																											root: 'data',
																											messageProperty: 'message'
																										},

																									}      
																								}),
																						columns:  [ {text: "Id", hidden:true, dataIndex: 'id'},
																									{text: "<b>Tipos Item de otros Proyectos</b>", flex: 1, sortable: true, dataIndex: 'nombreTipoItem'} ],
																						stripeRows : true
																					}),
																					grid8 = Ext.create('Ext.grid.Panel', {
																						multiSelect: true,
																						viewConfig: {
																							plugins: {
																									ptype: 'gridviewdragdrop',
																									dragGroup: 'secondGridDDGroup',
																									dropGroup: 'firstGridDDGroup'
																								},
																						},
																						store: Ext.create('Ext.data.Store', {
																								model: 'DataTipoItem',
																								autoLoad: true,
																								proxy: {
																									type: 'ajax',
																									url: 'listar_tipo_items_por_proyecto',
																									reader: {
																										type: 'json',
																										successProperty: 'success',
																										root: 'data',
																										messageProperty: 'message'
																									},

																								}       
																						}),
																						columns  : [ {text: "Id", hidden:true, dataIndex: 'id'},
																									{text: "<b>Tipos Item a Importar</b>", flex: 1, sortable: true, dataIndex: 'nombreTipoItem'} ],
																						stripeRows : true
																					})
																			],
																			dockedItems: {
																				xtype: 'toolbar',
																				dock: 'bottom',
																				items: ['->', // Fill
																				{
																					text: 'Guardar',
																					iconCls: 'icon-save',
																					handler: function(){
																						grid8.getSelectionModel().selectAll();
																						longitud= grid8.getSelectionModel().getSelection().length;
																						lista_tiposItem = new Array(longitud);
																						i=0;
																						while(i < longitud)
																						{											
																							lista_tiposItem[i]=grid8.getSelectionModel().getSelection()[i].data['id'];
																							i=i+1;
																						}	
																						grid8.getSelectionModel().deselectAll();											
																						Ext.Ajax.request({
																							url: 'importar_tipo_item',
																							params: {
																								id_proyecto: id,
																								lista_tiposItem:Ext.encode(lista_tiposItem)
																							},
																							success: function() {
																								Ext.Msg.show({ 		title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
																													msg: 'Tipos de Item importados correctamente', 	icon: 'ext-mb-ok',
																								});	
																								winImportar.close();
																								PanelTipoItem.child('#tipoitemgrid').onRefresh();
																							},
																							failure: function() {
																								Ext.Msg.show({	title: '<br><p align="center"><b>ALPHA MANAGER</b></p>',   
																												msg: 'Error en la importacion de Tipos de Item ', 	icon: 'ext-mb-error',
																								});
																							}
																						})
																				}
																				}]
																			}
																	}),{
																	border: false
																}]
															});					
															winImportar.show();						
														}
													}
													//height: 150,
												}, {
													region: 'center',
													xtype: 'tipoitemgrid',            
													itemId: 'tipoitemgrid',
													title: 'LISTADO TIPO ITEM',
													flex: 1,        
													//width: 480,
													//height: 250,
													store: Ext.create('Ext.data.Store', {
															model: 'Writer.TipoItem',
															autoLoad: true,
															autoSync: true,
															proxy: {
																type: 'ajax',
																url: 'listar_tipo_items_por_proyecto/'+ id,
																reader: {
																	type: 'json',
																	successProperty: 'success',
																	root: 'data',
																	messageProperty: 'message'
																},
																writer: {
																	type: 'json',
																	writeAllFields: false,
																	root: 'data'
																},

															},
															
															sorters: [{
																property: 'id',
																direction: 'ASC'
															}]        
														}),
													listeners: {
														selectionchange: function(selModel, selected) {
															PanelTipoItem.child('#TipoItemform').setActiveRecord(selected[0] || null);
														}
													}
												}]
											})
											
									]
							});	
							PanelTipoItem.child('#TipoItemform').down('#idProy').setValue(id);
							winTipoItem.show();					
						},						
						ddFases: function(data) {
							//Ext.Msg.alert('Fases', data);
							nombre = extraer(data, '&nombre=', '&descripcion=');		id = extraer(data, 'id=', '&');
							winFases = Ext.create('widget.window', {
								iconCls: 'icon-alpha',								
								title: 'PROYECTO: ' + nombre,
								closable: false,	
								plain: true,
								//layout: 'fit',
								items: [displayPanel = Ext.create('Ext.Panel', {
											width : 1000,	height : 320,
											layout  : {	type: 'hbox',	align: 'stretch'	},
											//defaults  : { flex : 1 }, 
											items : [								
												{
													region: 'west',
													xtype: 'fasesform',
													title: 'ADMINISTRACION DE FASES',
													itemId: 'Faseform',
													width: 350,
													listeners: {
														refresh: function() {
															displayPanel.child('#fasesgrid').onRefresh();		
														},
														ddImportar: function(data){
															var grid7, grid8;
															//nombre = extraer(data, '&nombre=', '&descripcion=');	//	id = extraer(data, 'id=', '&');
															winImportar = Ext.create('widget.window', {
																iconCls: 'icon-importar',
																title: 'Drag and Drop - Importar Fase al proyecto: ' + nombre,
																closable: true,
																plain: true,
																layout: 'fit',
																items: [PanelTipoItem = Ext.create('Ext.Panel', {
																			width : 550,	height : 250,
																			layout  : {	type: 'hbox',	align: 'stretch'	},
																			defaults  : { flex : 1 }, 
																			items : [
																					grid7 = Ext.create('Ext.grid.Panel', {
																						multiSelect: true,
																						viewConfig: {
																							plugins: {
																									ptype: 'gridviewdragdrop',
																									dragGroup: 'firstGridDDGroup',
																									dropGroup: 'secondGridDDGroup'
																							},
																						},
																						store: Ext.create('Ext.data.Store', {
																									model: 'DataFase',
																									autoLoad: true,
																									proxy: {
																										type: 'ajax',
																										url: 'listar_no_fases',
																										reader: {
																											type: 'json',
																											successProperty: 'success',
																											root: 'data',
																											messageProperty: 'message'
																										},

																									}      
																								}),
																						columns:  [ {text: "Id", hidden:true, dataIndex: 'id'},
																									{text: "<b>Fases en el Sistema</b>", flex: 1, sortable: true, dataIndex: 'nombreFase'} ],
																						stripeRows : true
																					}),
																					grid8 = Ext.create('Ext.grid.Panel', {
																						multiSelect: true,
																						viewConfig: {
																							plugins: {
																									ptype: 'gridviewdragdrop',
																									dragGroup: 'secondGridDDGroup',
																									dropGroup: 'firstGridDDGroup'
																								},
																						},
																						store: Ext.create('Ext.data.Store', {
																								model: 'DataFase',
																								autoLoad: true,
																								proxy: {
																									type: 'ajax',
																									url: 'listar_fases',
																									reader: {
																										type: 'json',
																										successProperty: 'success',
																										root: 'data',
																										messageProperty: 'message'
																									},

																								}       
																						}),
																						columns  : [ {text: "Id", hidden:true, dataIndex: 'id'},
																									{text: "<b>Fases Importadas</b>", flex: 1, sortable: true, dataIndex: 'nombreFase'} ],
																						stripeRows : true
																					})
																			],
																			dockedItems: {
																				xtype: 'toolbar',
																				dock: 'bottom',
																				items: ['->', // Fill
																				{
																					text: 'Guardar',
																					iconCls: 'icon-save',
																					handler: function(){
																						grid8.getSelectionModel().selectAll();
																						longitud= grid8.getSelectionModel().getSelection().length;
																						lista_tiposItem = new Array(longitud);
																						i=0;
																						while(i < longitud)
																						{											
																							lista_tiposItem[i]=grid8.getSelectionModel().getSelection()[i].data['id'];
																							i=i+1;
																						}	
																						grid8.getSelectionModel().deselectAll();											
																						Ext.Ajax.request({
																							url: 'importar_fases',
																							params: {
																								id_proyecto: id,
																								lista_tiposItem:Ext.encode(lista_tiposItem)
																							},
																							success: function() {
																								Ext.Msg.show({ 		title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
																													msg: 'Tipos de Item asignados correctamente', 	icon: 'ext-mb-ok',
																								});	
																							},
																							failure: function() {
																								Ext.Msg.show({	title: '<br><p align="center"><b>ALPHA MANAGER</b></p>',   
																												msg: 'Error en la asignacion de Tipos de Item ', 	icon: 'ext-mb-error',
																								});
																							}
																						})
																				}
																				}]
																			}
																	}),{
																	border: false
																}]
															});					
															winImportar.show();						
														},
														ddTiposItem: function(data){
															var grid7, grid8;
															nombre = extraer(data, '&nombreFase=', '&descripcion=');		idFase = extraer(data, 'id=', '&');
															winTipoItem = Ext.create('widget.window', {
																iconCls: 'icon-tipoItem',
																title: 'Drag and Drop - Asignar/Desasignar Tipos de Item a la Fase: ' + nombre,
																closable: true,
																plain: true,
																layout: 'fit',
																items: [PanelTipoItem = Ext.create('Ext.Panel', {
																			width : 550,	height : 250,
																			layout  : {	type: 'hbox',	align: 'stretch'	},
																			defaults  : { flex : 1 }, 
																			items : [
																					grid7 = Ext.create('Ext.grid.Panel', {
																						multiSelect: true,
																						viewConfig: {
																							plugins: {
																									ptype: 'gridviewdragdrop',
																									dragGroup: 'firstGridDDGroup',
																									dropGroup: 'secondGridDDGroup'
																							},
																						},
																						store: Ext.create('Ext.data.Store', {
																									model: 'DataTipoItem',
																									autoLoad: true,
																									proxy: {
																										type: 'ajax',
																										url: 'listar_no_tipo_items_por_fase/'+ idFase,
																										reader: {
																											type: 'json',
																											successProperty: 'success',
																											root: 'data',
																											messageProperty: 'message'
																										},

																									}      
																								}),
																						columns:  [ {text: "Id", hidden:true, dataIndex: 'id'},
																									{text: "<b>Tipos de Items No Asignados</b>", flex: 1, sortable: true, dataIndex: 'nombreTipoItem'} ],
																						stripeRows : true
																					}),
																					grid8 = Ext.create('Ext.grid.Panel', {
																						multiSelect: true,
																						viewConfig: {
																							plugins: {
																									ptype: 'gridviewdragdrop',
																									dragGroup: 'secondGridDDGroup',
																									dropGroup: 'firstGridDDGroup'
																								},
																						},
																						store: Ext.create('Ext.data.Store', {
																								model: 'DataTipoItem',
																								autoLoad: true,
																								proxy: {
																									type: 'ajax',
																									url: 'listar_tipo_items_por_fase/'+ idFase,
																									reader: {
																										type: 'json',
																										successProperty: 'success',
																										root: 'data',
																										messageProperty: 'message'
																									},

																								}       
																						}),
																						columns  : [ {text: "Id", hidden:true, dataIndex: 'id'},
																									{text: "<b>Tipos de Item Asignados</b>", flex: 1, sortable: true, dataIndex: 'nombreTipoItem'} ],
																						stripeRows : true
																					})
																			],
																			dockedItems: {
																				xtype: 'toolbar',
																				dock: 'bottom',
																				items: ['->', // Fill
																				{
																					text: 'Guardar',
																					iconCls: 'icon-save',
																					handler: function(){
																						grid8.getSelectionModel().selectAll();
																						longitud= grid8.getSelectionModel().getSelection().length;
																						lista_tiposItem = new Array(longitud);
																						i=0;
																						while(i < longitud)
																						{											
																							lista_tiposItem[i]=grid8.getSelectionModel().getSelection()[i].data['id'];
																							i=i+1;
																						}	
																						grid8.getSelectionModel().deselectAll();											
																						Ext.Ajax.request({
																							url: 'asignarTiposItem_desdeABMProyecto',
																							params: {
																								id_fase: idFase,
																								lista_tiposItem:Ext.encode(lista_tiposItem)
																							},
																							success: function() {
																								Ext.Msg.show({ 		title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
																													msg: 'Tipos de Item asignados correctamente', 	icon: 'ext-mb-ok',
																								});	
																							},
																							failure: function() {
																								Ext.Msg.show({	title: '<br><p align="center"><b>ALPHA MANAGER</b></p>',   
																												msg: 'Error en la asignacion de Tipos de Item ', 	icon: 'ext-mb-error',
																								});
																							}
																						})
																				}
																				}]
																			}
																	}),{
																	border: false
																}]
															});					
															winTipoItem.show();						
														}
													}
													//height: 150,
												}, {
													region: 'center',
													xtype: 'fasesgrid',            
													itemId: 'fasesgrid',
													title: 'LISTADO FASES',
													flex: 1,        
													//width: 480,
													//height: 250,
													store: Ext.create('Ext.data.Store', {
															model: 'Writer.Fases',
															autoLoad: true,
															autoSync: true,
															proxy: {
																type: 'ajax',
																url: 'listar_fases_por_proyecto/'+ id,
																reader: {
																	type: 'json',
																	successProperty: 'success',
																	root: 'data',
																	messageProperty: 'message'
																},
																writer: {
																	type: 'json',
																	writeAllFields: false,
																	root: 'data'
																},

															},
															
															sorters: [{
																property: 'id',
																direction: 'ASC'
															}]        
														}),
													listeners: {
														selectionchange: function(selModel, selected) {
															displayPanel.child('#Faseform').setActiveRecord(selected[0] || null);
														},
														salir: function() {
															winFases.close();
															win.child('#grid').onRefresh();
														}
													}
												}]
											})
											
									]
							});	
							displayPanel.child('#Faseform').down('#idProy').setValue(id);
							winFases.show();
												
						},						
						ddLider: function(data){
							var grid1, grid2;
							nombre = extraer(data, '&nombre=', '&descripcion=');		id = extraer(data, 'id=', '&');
                            win2 = Ext.create('widget.window', {
								iconCls: 'icon-lider',
								title: 'Drag and Drop - Asignar/Desasignar Lider al Proyecto: ' + nombre,
								closable: true,	plain: true,
								layout: 'fit',
								items: [displayPanel = Ext.create('Ext.Panel', {
											width : 550,	height : 250,
											layout  : {	type: 'hbox',	align: 'stretch'	},
											defaults  : { flex : 1 }, 
											items : [
													grid1 = Ext.create('Ext.grid.Panel', {
														multiSelect: true,
														viewConfig: {
															plugins: {
																	ptype: 'gridviewdragdrop',
																	dragGroup: 'firstGridDDGroup',
																	dropGroup: 'secondGridDDGroup'
															},
														},
														store: Ext.create('Ext.data.Store', {
																	model: 'DataUsuario',
																	autoLoad: true,
																	proxy: {
																		type: 'ajax',
																		url: 'listarUsuarios_conRolLider/'+ id,
																		reader: {
																			type: 'json',
																			successProperty: 'success',
																			root: 'data',
																			messageProperty: 'message'
																		},

																	}      
																}),
														columns:  [ {text: "<b>Lideres de Proyecto</b>", flex: 1, sortable: true, dataIndex: 'nombreUsuario'} ],
														stripeRows : true
													}),
													grid2 = Ext.create('Ext.grid.Panel', {
														multiSelect: true,
														viewConfig: {
															plugins: {
																	ptype: 'gridviewdragdrop',
																	dragGroup: 'secondGridDDGroup',
																	dropGroup: 'firstGridDDGroup'
																},
														},
														store: Ext.create('Ext.data.Store', {
																model: 'DataUsuario',
																autoLoad: true,
																proxy: {
																	type: 'ajax',
																	url: 'mostrarLider_actual/'+ id,
																	reader: {
																		type: 'json',
																		successProperty: 'success',
																		root: 'data',
																		messageProperty: 'message'
																	},

																}       
														}),
														columns  : [ {text: "<b>Lider Asignado</b>", flex: 1, sortable: true, dataIndex: 'nombreUsuario'} ],
														stripeRows : true
													})
											],
											dockedItems: {
												xtype: 'toolbar',
												dock: 'bottom',
												items: ['->', // Fill
												{
													text: 'Guardar',
													iconCls: 'icon-save',
													handler: function(){
														grid2.getSelectionModel().selectAll();
														longitud= grid2.getSelectionModel().getSelection().length;
														if (longitud > 1){
															Ext.Msg.show({ 		title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
																					msg: 'Solo se puede asignar un Lider de Proyecto', 	icon: 'ext-mb-error',
																});
															grid2.getSelectionModel().deselectAll();
														}
														else{
															lista_usuarios = new Array(longitud);
															i=0;
															while(i < longitud)
															{											
																	lista_usuarios[i]=grid2.getSelectionModel().getSelection()[i].data['nombreUsuario'];
																	i=i+1;
															}	
															grid2.getSelectionModel().deselectAll();											
															Ext.Ajax.request({
																url: 'asignarLider_desdeABMProyecto',
																params: {
																	id_proy: id,
																	lista_usuarios:Ext.encode(lista_usuarios)
																},
																success: function(response) {
																	var jsonData = Ext.JSON.decode(response.responseText);
																	var resultMessage = jsonData['mensaje'];
																	Ext.Msg.show({ 		title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
																						msg: resultMessage, 	icon: 'ext-mb-ok',
																	});	
																},
																failure: function() {
																	Ext.Msg.show({	title: '<br><p align="center"><b>ALPHA MANAGER</b></p>',   
																					msg: 'Error en la asignacion del lider de proyecto', 	icon: 'ext-mb-error',
																	});
																}
															})
														}
												}
												}]
											}
									}),{
									border: false
								}]
							});					
							win2.show();						
						}						
					}
				}, {
                    region: 'center',
					xtype: 'writergrid',            
					itemId: 'grid',
					title: 'LISTADO DE PROYECTOS',

					flex: 1,        
					//width: 750,
					//height: 380,

					store: store,
					listeners: {
						selectionchange: function(selModel, selected) {
							win.child('#form').setActiveRecord(selected[0] || null);
						}
					}
				}]
            });
            win.show()
    

    
});

function extraer(texto, etqini, etqfin){
		var ind0, ind1, parte ="";
		ind0 = texto.indexOf(etqini);
		if (ind0 >=0){
			ind1 = texto.indexOf(etqfin);
			if (ind1>ind0)
				parte = texto.substring(ind0+etqini.length, ind1);
		}
		return parte;
}
